Update dependency jsrsasign to v11 [SECURITY] - #426
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Author
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: amp-update-cache/package-lock.json |
renovate
Bot
force-pushed
the
renovate/npm-jsrsasign-vulnerability
branch
from
August 8, 2024 20:57
664e36c to
1d3c6de
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsrsasign-vulnerability
branch
from
August 15, 2025 20:15
1d3c6de to
83a229f
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsrsasign-vulnerability
branch
from
October 16, 2025 07:14
83a229f to
99a9aea
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsrsasign-vulnerability
branch
from
December 4, 2025 22:26
99a9aea to
0eee1f4
Compare
renovate
Bot
force-pushed
the
renovate/npm-jsrsasign-vulnerability
branch
from
August 29, 2026 04:34
0eee1f4 to
7aef588
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^8.0.0→^11.0.0ECDSA signature validation vulnerability by accepting wrong ASN.1 encoding in jsrsasign
CVE-2020-14966 / GHSA-p8c3-7rj8-q963
More information
Details
Impact
Jsrsasign supports ECDSA signature validation which signature value is represented by ASN.1 DER encoding. This vulnerablity may accept a wrong ASN.1 DER encoded ECDSA signature such as:
This vulnerability was fixed by strict ASN.1 DER checking.
Here is an assessment of this vulnerability:
As discussed here, there is no standards like X9.62 which requires ASN.1 DER. So ASN.1 BER can be applied to ECDSA however most of implementations like OpenSSL do strict ASN.1 DER checking.
Patches
Users using ECDSA signature validation should upgrade to 8.0.19.
Workarounds
Do strict ASN.1 DER checking for ASN.1 encoded ECDSA signature value.
References
https://nvd.nist.gov/vuln/detail/CVE-2020-14966
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14966
https://vuldb.com/?id.157123
https://github.com/kjur/jsrsasign/issues/437
https://kjur.github.io/jsrsasign/api/symbols/KJUR.crypto.ECDSA.html
https://kjur.github.io/jsrsasign/api/symbols/ASN1HEX.html#.checkStrictDER
https://www.itu.int/rec/T-REC-X.690
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
ECDSA signature vulnerability of Minerva timing attack in jsrsasign
GHSA-g753-jx37-7xwh
More information
Details
Impact
ECDSA side-channel attack named Minerava have been found and it was found that it affects to jsrsasign.
Execution time of thousands signature generation have been observed then EC private key which is scalar value may be recovered since point and scalar multiplication time depends on bits of scalar. In jsrsasign 8.0.13 or later, execution time of EC point and scalar multiplication is almost constant and fixed for the issue.
Patches
Users using ECDSA signature generation should upgrade to 8.0.13 or later.
Workarounds
There is no workarounds in jsrsasign. Update jsrsasign or use other ECDSA library.
ACKNOWLEDGEMENT
Thanks to Jan Jancar @J08nY, Petr Svenda and Vladimir Sedlacek of Masaryk University in Czech Republic to find and report this vulnerability.
References
https://minerva.crocs.fi.muni.cz/
https://www.npmjs.com/advisories/1505
https://github.com/kjur/jsrsasign/issues/411
Severity
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign
CVE-2020-14968 / GHSA-q3gh-5r98-j4h3
More information
Details
Impact
Jsrsasign can verify RSA-PSS signature which value can expressed as BigInteger. When there is a valid RSA-PSS signature value, this vulnerability is also accept value with prepending zeros as a valid signature.
Patches
Users using RSA-PSS signature validation should upgrade to 8.0.17.
Workarounds
Reject RSA-PSS signatures with unnecessary prepending zeros.
References
GHSA-q3gh-5r98-j4h3
https://github.com/kjur/jsrsasign/issues/438
https://nvd.nist.gov/vuln/detail/CVE-2020-14968
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14968
https://vuldb.com/?id.157125
https://kjur.github.io/jsrsasign/api/symbols/RSAKey.html#.verifyWithMessageHashPSS
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
RSA PKCS#1 decryption vulnerability with prepending zeros in jsrsasign
CVE-2020-14967 / GHSA-xxxq-chmp-67g4
More information
Details
Impact
Jsrsasign supports RSA PKCS#1 v1.5 (i.e. RSAES-PKCS1-v1_5) and RSA-OAEP encryption and decryption. Its encrypted message is represented as BigInteger. When there is a valid encrypted message, a crafted message with prepending zeros can be decrypted by this vulnerability.
Patches
Users using RSA PKCS1-v1_5 or RSA-OAEP decryption should upgrade to 8.0.18.
Workarounds
Reject RSA PKCS1-v1_5 or RSA-OAEP encrypted message with unnecessary prepending zeros.
References
https://nvd.nist.gov/vuln/detail/CVE-2020-14967
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14967
https://vuldb.com/?id.157124
https://kjur.github.io/jsrsasign/api/symbols/KJUR.crypto.Cipher.html#.decrypt
https://github.com/kjur/jsrsasign/issues/439
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
RSA signature validation vulnerability on maleable encoded message in jsrsasign
CVE-2021-30246 / GHSA-27fj-mc8w-j9wg
More information
Details
Impact
Vulnerable jsrsasign will accept RSA signature with improper PKCS#1.5 padding.
Decoded RSA signature value consists following form:
01(ff...(8 or more ffs)...ff)00[ASN.1 OF DigestInfo]Its byte length must be the same as RSA key length, however such checking was not sufficient.
To make crafted message for practical attack is very hard.
Patches
Users validating RSA signature should upgrade to 10.2.0 or later.
Workarounds
There is no workaround. Not to use RSA signature validation in jsrsasign.
ACKNOWLEDGEMENT
Thanks to Daniel Yahyazadeh @yahyazadeh for reporting and analyzing this vulnerability.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Signatures are mistakenly recognized to be valid in jsrsasign
GHSA-h87q-g2wp-47pj
More information
Details
In the jsrsasign package through 10.1.13 for Node.js, some invalid RSA PKCS#1 v1.5 signatures are mistakenly recognized to be valid. NOTE: there is no known practical attack.
Severity
Medium
References
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
JWS and JWT signature validation vulnerability with special characters
CVE-2022-25898 / GHSA-3fvg-4v2m-98jf
More information
Details
Impact
Jsrsasign supports JWS(JSON Web Signatures) and JWT(JSON Web Token) validation. However JWS or JWT signature with non Base64URL encoding special characters or number escaped characters may be validated as valid by mistake.
For example, even if a string of non Base64URL encoding characters such as
!@$%or\11is inserted into a valid JWS or JWT signature value string, it will still be a valid JWS or JWT signature by mistake.When jsrsasign's JWS or JWT validation is used in OpenID connect or OAuth2, this vulnerability will affect to authentication or authorization.
By our internal assessment, CVSS 3.1 score will be 8.6.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
Patches
Users validate JWS or JWT signatures should upgrade to 10.5.25.
Workarounds
Validate JWS or JWT signature if it has Base64URL and dot safe string before
executing JWS.verify() or JWS.verifyJWT() method.
ACKNOWLEDGEMENT
Thanks to Adi Malyanker and Or David for this vulnerability report. Also thanks for Snyk security team for this coordination.
References
https://github.com/kjur/jsrsasign/releases/tag/10.5.25
GHSA-3fvg-4v2m-98jf kjur's advisories
GHSA-3fvg-4v2m-98jf github advisories
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-25898
https://kjur.github.io/jsrsasign/api/symbols/KJUR.jws.JWS.html#.verifyJWT
https://kjur.github.io/jsrsasign/api/symbols/KJUR.jws.JWS.html#.verify
https://kjur.github.io/jsrsasign/api/symbols/global__.html#.isBase64URLDot
https://github.com/kjur/jsrsasign/wiki/Tutorial-for-JWS-verification
https://github.com/kjur/jsrsasign/wiki/Tutorial-for-JWT-verification
https://security.snyk.io/vuln/SNYK-JS-JSRSASIGN-2869122
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Marvin Attack of RSA and RSAOAEP decryption in jsrsasign
CVE-2024-21484 / GHSA-rh63-9qcf-83gf
More information
Details
Impact
RSA PKCS#1.5 or RSAOAEP ciphertexts may be decrypted by this Marvin attack vulnerability.
Patches
update to jsrsasign 11.0.0.
Workarounds
Find and replace RSA and RSAOAEP decryption with other crypto library.
References
https://people.redhat.com/~hkario/marvin/
https://github.com/kjur/jsrsasign/issues/598
https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-6070732
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21484
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsrsasign is vulnerable to DoS through Infinite Loop when processing zero or negative inputs
CVE-2026-4598 / GHSA-8g7p-jf3g-gxcp
More information
Details
Versions of the package jsrsasign before 11.1.1 are vulnerable to Infinite loop via the bnModInverse function in ext/jsbn2.js when the BigInteger.modInverse implementation receives zero or negative inputs, allowing an attacker to hang the process permanently by supplying such crafted values (e.g., modInverse(0, m) or modInverse(-1, m)).
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:PReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsrsasign: Missing cryptographic validation during DSA signing enables private key extraction
CVE-2026-4601 / GHSA-w8q8-93cx-6h7r
More information
Details
Versions of the package jsrsasign before 11.1.1 are vulnerable to Missing Cryptographic Step via the KJUR.crypto.DSA.signWithMessageHash process in the DSA signing implementation. An attacker can recover the private key by forcing r or s to be zero, so the library emits an invalid signature without retrying, and then solves for x from the resulting signature.
Severity
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:H/SA:N/E:PReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsrsasign: Incomplete Comparison Allows DSA Private Key Recovery via Biased Nonce Generation
CVE-2026-4599 / GHSA-5jx8-q4cp-rhh6
More information
Details
Versions of the package jsrsasign from 7.0.0 and before 11.1.1 are vulnerable to Incomplete Comparison with Missing Factors via the getRandomBigIntegerZeroToMax and getRandomBigIntegerMinToMax functions in src/crypto-1.1.js; an attacker can recover the private key by exploiting the incorrect compareTo checks that accept out-of-range candidates and thus bias DSA nonces during signature generation.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsrsasign: Negative Exponent Handling Leads to Signature Verification Bypass
CVE-2026-4602 / GHSA-8qwj-4jxw-m8jw
More information
Details
Versions of the package jsrsasign before 11.1.1 are vulnerable to Incorrect Conversion between Numeric Types due to handling negative exponents in ext/jsbn2.js. An attacker can force the computation of incorrect modular inverses and break signature verification by calling modPow with a negative exponent.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:PReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsrsasign: DSA signatures or X.509 certificates can be forged via DSA domain-parameter validation in KJUR.crypto.DSA.setPublic
CVE-2026-4600 / GHSA-wvqx-v3f6-w8rh
More information
Details
Versions of the package jsrsasign before 11.1.1 are vulnerable to Improper Verification of Cryptographic Signature via the DSA domain-parameter validation in KJUR.crypto.DSA.setPublic (and the related DSA/X509 verification flow in src/dsa-2.0.js). An attacker can forge DSA signatures or X.509 certificates that X509.verifySignature() accepts by supplying malicious domain parameters such as g=1, y=1, and a fixed r=1, which make the verification equation true for any hash.
Severity
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:PReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
jsrsasign: Division by Zero Allows Invalid JWK Modulus to Cause Deterministic Zero Output in RSA Operations
CVE-2026-4603 / GHSA-464q-cqxq-xhgr
More information
Details
Versions of the package jsrsasign before 11.1.1 are vulnerable to Division by zero due to the RSASetPublic/KEYUTIL parsing path in ext/rsa.js and the BigInteger.modPowInt reduction logic in ext/jsbn.js. An attacker can force RSA public-key operations (e.g., verify and encryption) to collapse to deterministic zero outputs and hide “invalid key” errors by supplying a JWK whose modulus decodes to zero.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:PReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
kjur/jsrsasign (jsrsasign)
v11.1.1Compare Source
v11.1.0: restore KJUR.crypto.Cipher class without RSA/RSAOAEP supportCompare Source
v11.0.0: remove RSA and RSAOAEP encryption for Marvin attackCompare Source
remove encrypt/decrypt/encryptOAEP/decryptOAEP for RSAKey class
v10.9.0: enhanced support for encrypted PKCS8Compare Source
aes128-CBC, aes256-CBC encrypted and using hmacWithSHA224/256/384/512 as
psudorandom function.
priavte key.
v10.8.6: X509.getExtSubjectDirectoryAttributes another bugfixCompare Source
v10.8.5: X509.getExtSubjectDirectoryAttributes bugfixCompare Source
v10.8.4: more SubjectDirectoryExtension supportCompare Source
ExtSubjectDirectoryAttributes extension
result has unnecessary new line in the end of string.
v10.8.3: CABF SMIMEBR OID supportCompare Source
v10.8.2: RSA OAEP encryption fixCompare Source
In rare cases, it have been generated ciphertext that
could not be decrpyted.
v10.8.1: npm export missing fixCompare Source
v10.8.0: UserNotice of CertificatePolicies support and moreCompare Source
v10.7.0: custom X.509 extension support and utility functionsCompare Source
v10.6.1: Add PolicyMappings, PolicyConstraints and InhibitAnyPolicy extension supportCompare Source
PolicyMappings, PolicyConstraints and InhibitAnyPolicy
{PolicyMappings,PolicyConstraints,InhibitAnyPolicy}
{PolicyMappings,PolicyConstraints,InhibitAnyPolicy}
v10.6.0: StringPrep DN canonicalization support and some fixCompare Source
z* Changes from 10.5.27 to 10.6.0 (2022-Nov-04)
DN name (a.k.a. StringPrep).
consistency with KJUR.asn1.x509.OtherName class constructor.
v10.5.27: extend CertificationRequestInfo class for challengePassword and unstructuredNameCompare Source
v10.5.26: CSRUtil class enhancementCompare Source
v10.5.25: CVE-2022-25898 Security fix in JWS and JWT validationCompare Source
verify and verifyJWT may accept signature with special characters
or \number characters by mistake.
Please see security advisory:
GHSA-3fvg-4v2m-98jf
v10.5.24: X509.getParam bugfix for v1 certificateCompare Source
v10.5.23: BitString parsing bug fixCompare Source
namearraytobinstr, extendClass)
v10.5.22: DERBitString, KeyUsage and tsp PKIFailureInfo critical bug fixCompare Source
v10.5.21Compare Source
v10.5.20: OCSP ResponderID object udpateCompare Source
X509 object for key and name field.
v10.5.19: Time stamp package updateCompare Source
will be optional. If omitted, it will be "granted" by default.
v10.5.18: Time stamp package updateCompare Source
v10.5.17: CIDR subnet mask support in iptohex and hextoipCompare Source
v10.5.16: Add NameConstraints extension and modify getEncodedHex to tohexCompare Source
in the result.
in the result.
Please use ASN1Object.tohex() instead.
v10.5.15: X509.getExtCRLDistributionPointsURI small fixCompare Source
undefined when no CDP extension as specified in document
even though it is deprecated method.
v10.5.14: KEYUTIL.getPEM small fixCompare Source
optional public key field will be omitted in such case. (#549)
v10.5.13: RSA key private generation fixCompare Source
v10.5.12: support ISO 8859-1 TeletexString and BMPString for X500NameCompare Source
ISO 8859-1 Latin1 characters. Before this version,
only supports ASCII characters.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.